package top.dancun.eascourse.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import top.dancun.common.utils.PageUtils;
import top.dancun.eascourse.entity.ClassScheduleEntity;
import top.dancun.eascourse.entity.StudentEntity;
import top.dancun.eascourse.exception.CourseConflictsException;

import java.util.List;
import java.util.Map;

/**
 * 课表
 *
 * @author dancun
 * @email message@dancun.top
 * @date 2022-10-22 17:26:22
 */
public interface ClassScheduleService extends IService<ClassScheduleEntity> {

    PageUtils queryPage(Map<String, Object> params);

    List<Map<String,ClassScheduleEntity>> getCurriculum(Map<String,String> params);

    /**
     * 获取我的课程
     * @param id
     * @return
     */
    PageUtils getMyCourse(String id,Map<String, Object> params);

    /**
     * 获取我的课程
     * @return
     */
    PageUtils getAllCourse(Map<String, Object> params);

    /**
     * 获取教师所教学科的所有学生
     * @param uid
     * @return
     */
    PageUtils getStudent(Map<String, String> params,String uid);
    void clear(List<Integer> id);

    boolean saveClassSchedule(ClassScheduleEntity entity) throws CourseConflictsException;

}

